package com.gupao.edu.homework.chatroom;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;

/**
 * @description：阻塞式I/O创建的客户端
 * @author：GP16803-林华滨
 * @version：2018年11月01日 15:31
 */
public class Client {

    /***
     * 服务端的端口
     */
    private static int DEFAULT_SERVER_PORT = 11111;

    /***
     * 服务端的地址
     */
    private static String DEFAULT_SERVER_IP = "127.0.0.1";

    public Client() {
        super();
    }

    /***
     * 发送信息
     * @throws Exception
     */
    public void start() {
        start(DEFAULT_SERVER_PORT);
    }

    /***
     * 发送信息
     * @param port
     * @throws Exception
     */
    public void start(int port) {
        try {
            BufferedReader console = new BufferedReader(new InputStreamReader(System.in));

            System.out.println("请设置您的昵称：");
            String name = console.readLine();
            if (null == name || "".equals(name)) {
                return;
            }

            Socket socket = new Socket(DEFAULT_SERVER_IP, port);

            // 创建接收线程，用于接收服务端传输的数据
            new Thread(new ClientSend(socket, name)).start();

            // 创建发送线程，用于向服务端发送数据
            new Thread(new ClientReceive(socket)).start();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
